atk_class->get_toolkit_name = get_toolkit_name;
atk_class->get_toolkit_version = get_toolkit_version;
}
-
-static void
-atk_key_event_from_gdk_event_key (GdkEventKey *key,
- AtkKeyEventStruct *event)
-{
- GdkEventType type;
- GdkModifierType state;
- guint keyval;
- guint16 keycode;
-
- type = gdk_event_get_event_type ((GdkEvent *)key);
- state = gdk_event_get_modifier_state ((GdkEvent *)key);
- keyval = gdk_key_event_get_keyval ((GdkEvent *)key);
- keycode = gdk_key_event_get_keycode ((GdkEvent *)key);
-
- if (type == GDK_KEY_PRESS)
- event->type = ATK_KEY_EVENT_PRESS;
- else if (type == GDK_KEY_RELEASE)
- event->type = ATK_KEY_EVENT_RELEASE;
- else
- g_assert_not_reached ();
-
- event->state = state;
- event->keyval = keyval;
- event->string = (char *) gdk_keyval_name (keyval);
- event->length = strlen (event->string);
- event->keycode = keycode;
- event->timestamp = gdk_event_get_time ((GdkEvent *)key);
-}
-
-gboolean
-_gtk_accessibility_key_snooper (GtkWidget *widget,
- GdkEventKey *event)
-{
- GSList *l;
- AtkKeyEventStruct atk_event;
- gboolean result;
-
- result = FALSE;
-
- atk_key_event_from_gdk_event_key (event, &atk_event);
-
- for (l = key_listener_list; l; l = l->next)
- {
- KeyEventListener *listener = l->data;
-
- result |= listener->func (&atk_event, listener->data);
- }
-
- return result;
-}